package com.indusfo.spc.service;

import com.indusfo.spc.pojo.*;
import com.indusfo.spc.vo.JSONObject;
import org.apache.poi.ss.usermodel.Sheet;

import java.util.List;
import java.util.Map;

/**
 * @author louk
 * @date 2019/11/15 16:24
 */
public interface MatService {

    //查询

    /**
     * 查询物料集合
     * @param mat
     * @return
     */
    JSONObject listMat(Mat mat);

    /**
     * 新增或更新物料信息
     * @param mat
     * @return
     */
    JSONObject insertMat(Mat mat);
    JSONObject updateMat(Mat mat);

    /**
     * 修改物料信息状态
     * @param matIds
     * @param lDataState
     * @return
     */
    JSONObject deleteMat(Integer[] matIds, Integer lDataState);

    /**
     * 高级查询
     * @param mat
     * @return
     */
    JSONObject advancedQuery(Mat mat);

    /**
     * 检查excel内容
     * @param mat
     * @return
     */
    String checkExcelContent(Mat mat, Map<String, Mat> matMap , Map<String, Rule> ruleMap, Map<String, Datadict> matunitMap, Map<String, MatType> mtypeMap, Map<String, Datadict> artifactTypeIdNameMap  );
    List<ExcelErrorData> checkExcelContentList(Sheet sheet, List<Mat> matList,List<ExcelErrorData> errorDatas,List<Integer> cellList);

    JSONObject updateListMat(List<Mat> matList);

    JSONObject queryListMatToInsert(Mat mat);

    JSONObject queryListMatToInsertend(Mat mat);

    JSONObject testQuery();
}
